package dao

import (
	"time"
)

// 这是 CmsHelp 的全局公开dao对象，被service层调用!
var CmsHelpDao = cmsHelpDao{}

// 这是 cms_help表 的实体类
type CmsHelp struct {
	CategoryId int64     `json:"category_id" form:"category_id" v:"category_id"` // 这是一个逻辑外键,关联cms_help_category(id)
	Content    string    `json:"content" form:"content" v:"content"`
	CreateTime time.Time `json:"create_time" form:"create_time" v:"create_time"`
	Icon       string    `json:"icon" form:"icon" v:"icon"`
	Id         int64     `json:"id" form:"id" v:"id"`
	ReadCount  int32     `json:"read_count" form:"read_count" v:"read_count"`
	ShowStatus int32     `json:"show_status" form:"show_status" v:"show_status"`
	Title      string    `json:"title" form:"title" v:"title"`
}

// 注意:这是 CmsHelp 的私有dao对象，只能在dao层内使用!
type cmsHelpDao struct {
	InsertTemplate func(arg CmsHelp) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg CmsHelp) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                  `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (CmsHelp, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]CmsHelp, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 cms_help 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type CmsHelpPostman struct {
category_id
content
create_time
icon
id
read_count
show_status
title

}*/

// 这是 cms_help 表的批量请求参数
type CmsHelpReq struct {
	List []CmsHelp `json:"list" form:"list"`
}
